#define _GNU_SOURCE 
#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE *fp1,*fp2,*fp3;
	char file1[20],file2[20],file3[20],ch;
	int cnt=0;
	printf("Please input file1:");
	scanf("%s",file1);
	printf("File1:\n");
	//返回值：成功，返回已经打开的文件指针FILE *
	//失败，返回NULL，同时errno被设置
	if((fp1=fopen(file1,"rb"))!=NULL)			//读取文件1的内容
	{
		//功能:从stream指定的文件流中,读取一个字符，并把读取到的字符的ASCII码值返回
		ch=fgetc(fp1);
		while(ch!=EOF)
		{
			putchar(ch);
			ch=fgetc(fp1);
		}
		cnt+=1;
	}
	else
	{
		perror("fopen error");
		exit(1);
	}

	printf("\nPlease input file2:");
	scanf("%s",file2);
	printf("File2:\n");
	//返回值：成功，返回已经打开的文件指针FILE *
	//失败，返回NULL，同时errno被设置
	if((fp2=fopen(file2,"rb"))!=NULL)			//读取文件2的内容
	{
		//功能:从stream指定的文件流中,读取一个字符，并把读取到的字符的ASCII码值返回
		ch=fgetc(fp2);
		while(ch!=EOF)
		{
			putchar(ch);
			ch=fgetc(fp2);
		}
		cnt+=1;
	}
	else
	{
		perror("fopen error");
		exit(1);
	}

	printf("\nPlease input file3:");
	scanf("%s",file3);
	printf("File3:\n");
	//返回值：成功，返回已经打开的文件指针FILE *
	//失败，返回NULL，同时errno被设置
	if((fp3=fopen(file3,"rb"))!=NULL)			//读取文件3的内容
	{
		//功能:从stream指定的文件流中,读取一个字符，并把读取到的字符的ASCII码值返回
		ch=fgetc(fp3);
		while(ch!=EOF)
		{
			putchar(ch);
			ch=fgetc(fp3);
		}
		cnt+=1;
	}
	else
	{
		perror("fopen error");
		exit(1);
	}
	
	
	//调用fcloseall()函数关闭打开的文件，返回值赋给file_num;
	int file_num=fcloseall();
	if(file_num==EOF)
		perror("Error");
	else
		printf("\n %d Files closed\n",file_num);
		
	int fs=fputs("\nfcloseall执行不成功\n",fp1);
	if(fs==EOF)
	{
		printf("<< fcloseall 执行成功! >>\n");
	}
	else
	{
		printf("看fcloseall是否执行:\n");
		if((fp1=fopen(file1,"rb"))!=NULL)//读取文件1的内容
		{
			//功能:从stream指定的文件流中,读取一个字符，并把读取到的字符的ASCII码值返回
			ch=fgetc(fp1);
			while(ch!=EOF)
			{
				putchar(ch);
				ch=fgetc(fp1);
			}
		}
	}
	int f1=fclose(fp1);
	if(f1==EOF)
	{
		perror("close error!");
	}
	else
	{
		printf("close succeed！\n");
	}
	int f2=fclose(fp2);
	if(f2==EOF)
	{
		perror("close error!");
	}
	else
	{
		printf("close succeed！\n");
	}
	int f3=fclose(fp3);
	if(f3==EOF)
	{
		perror("close error!");
	}
	else
	{
		printf("close succeed！\n");
	}
	return 0;
}













